TITL DAI FIRMWARE CF02-D100 V1.1 ORG :CF02 * * * ************************************** * POINTERS TO ROUTINES BASICCOMMANDS * ************************************** * * This table, with base at CF00, gives the * addresses of the routines for execution of the * Basic statements. * The offset from baseaddress CF00 can be found * by adding 2x TOKEN to the base address. * Address indicates begin subroutine (ROM bank 0). * * The number given between brackets is the TOKEN. * CITAB DBL :DEB8 (81) NEW DBL :DED5 (82) CONT DBL :DF03 (83) STOP DBL :DF0C (84) END DBL :E401 (85) RESTORE DBL :DF4C (86) RETURN DBL :DF9E (87) RUN DBL :DFBA (88) RUN DBL :DF63 (89) GOTO DBL :DF2A (8A) GOSUB DBL :D274 (8B) LOAD DBL :D23D (8C) SAVE DBL :D2C3 (8D) CHECK DBL :DFC9 (8E) OUT DBL :DFC0 (8F) POKE DBL :DFD5 (90) WAIT DBL :DFF7 (91) WAIT MEM DBL :E016 (92) WAIT TIME DBL :E197 (93) LIST DBL :E1AA (94) LIST DBL :E1B6 (95) LIST DBL :E4BC (96) SOUND DBL :E50C (97) NOISE DBL :E570 (98) ENVELOPE DBL :E5B2 (99) CURSOR DBL :E5BB (9A) MODE DBL :E5C1 (9B) DOT DBL :E5CE (9C) DRAW DBL :E5D7 (9D) FILL DBL :E60E (9E) COLORT DBL :E615 (9F) COLORG DBL :E302 (A0) INPUT DBL :E2FC (A1) INPUT DBL :E18F (A2) DATA DBL :E323 (A3) READ DBL :E45A (A4) LET DBL :E45A (A5) assignment DBL :DF20 (A6) IF THEN DBL :DF15 (A7) IF GOTO DBL :DF15 (A8) IF THEN DBL :E18F (A9) REM DBL :E02B (AA) FOR .. TO DBL :E0E5 (AB) NEXT DBL :E0C5 (AC) NEXT DBL :E2B3 (AD) PRINT DBL :DF6A (AE) ON GOTO DBL :DF71 (AF) ON GOSUB DBL :E62F (B0) DIM DBL :DA33 (B1) *** (error line run) DBL :E69E (B2) UT DBL :E6A4 (B3) CALLM DBL :E6B5 (B4) CLEAR DBL :E195 (B5) IMP DBL :E1F5 (B6) EDIT DBL :E253 (B7) EDIT DBL :E25C (B8) EDIT DBL :D81D (B9) SAVEA DBL :D85E (BA) LOADA DBL :CD64 (BB) TALK DBL :DEFE (BC) STEP DBL :E6CE (BD) TRON DBL :E6D5 (BE) TROFF * ***************************** * part of RUN 'ASC' (0EACF) * ***************************** * MPT51 ORA A Nulstring ? JZ :EB7C (0) Then 0 into MACC INX H Else: JMP :EAC7 (0) Next byte from MEM REM into MACC * ***************************************** * TABLE PREFIXES FOR UNITARY OPERATIONS * ***************************************** * * Only used by LIST for decoding. * The prefix gives a code for unitary operators, * which on encoding are directly determined, not * looked up in a table. * * Format: length of name / name / 5-bit opcode * *OPTBB SBRA DATA :01 DATA :28 ( DATA :1A * DATA :01 DATA :2D - DATA :1D * DATA :01 DATA :2B + DATA :1C * DATA :00 Fixed FPT conversion DATA :1F * ************************** * TABLE BINARY OPERATORS * ************************** * * Format: 1 byte: length of name. * n bytes: name. * 1 byte: code byte: * highest 3 bits: priority. * lowest 5 bits: opcode. * *OPTAB SDIV DATA :01 DATA :2F / DATA :C2 * DATA :01 DATA :2A * DATA :C3 * DATA :03 DATA :4D M DATA :4F O DATA :44 D DATA :CF * DATA :01 DATA :5E ^ DATA :E4 * DATA :04 DATA :49 I DATA :41 A DATA :4E N DATA :44 D DATA :69 * DATA :03 DATA :49 I DATA :4F O DATA :52 R DATA :6A * DATA :04 DATA :49 I DATA :58 X DATA :4F O DATA :52 R DATA :6C * DATA :03 DATA :53 S DATA :48 H DATA :4C L DATA :8D * DATA :03 DATA :53 S DATA :48 H DATA :52 R DATA :8E * DATA :02 DATA :3E > DATA :3D = DATA :50 * DATA :01 DATA :3E > DATA :51 * DATA :02 DATA :3C < DATA :3E > DATA :52 * DATA :02 DATA :3C < DATA :3D = DATA :53 * DATA :01 DATA :3C < DATA :54 * DATA :01 DATA :3D > DATA :55 * SAND DATA :03 DATA :41 A DATA :4E N DATA :44 D DATA :38 * DATA :02 DATA :4F O DATA :52 R DATA :39 * *************************** * TABLE UNITARY OPERATORS * *************************** * * Format: 1 byte: Length of name. * n bytes: Name. * 1 byte: Code byte: * 3 highest bits: priority. * 5 lowest bits: opcode. * OPTBM DATA :04 DATA :49 I DATA :4E N DATA :4F O DATA :54 T DATA :1E * DATA :01 DATA :2B + DATA :A0 * DATA :01 DATA :2D - DATA :A1 * DATA :00 End of table DATA :00 * ********************************* * TABLE STRINGS BASIC FUNCTIONS * ********************************* * * Format: 1 byte: Length of name. * n bytes: Name. * 1 byte: High nibble: type of info. * Low nibble: nr of arguments. * 1 byte: High nibble: required type * of variable expected: * (0=FPT, 1=INT, 2=STR). * *FUNTB SABS DATA :03 DATA :41 A DATA :42 B DATA :53 S DATA :01 DATA :00 * SALOG DATA :04 DATA :41 A DATA :4C L DATA :4F O DATA :47 G DATA :01 DATA :00 * SASC DATA :03 DATA :41 A DATA :53 S DATA :43 C DATA :11 DATA :20 * SCHR DATA :04 DATA :43 C DATA :48 H DATA :52 R DATA :24 $ DATA :21 DATA :10 * SCURX DATA :04 DATA :43 C DATA :55 U DATA :52 R DATA :58 X DATA :10 * SCURY DATA :04 DATA :43 C DATA :55 U DATA :52 R DATA :59 Y DATA :10 * SEXP DATA :03 DATA :45 E DATA :58 X DATA :50 P DATA :01 DATA :00 * SFRAC DATA :04 DATA :46 F DATA :52 R DATA :41 A DATA :43 C DATA :01 DATA :00 * SFRE DATA :03 DATA :46 F DATA :52 R DATA :45 E DATA :10 * SFREQ DATA :04 DATA :46 F DATA :52 R DATA :45 E DATA :51 Q DATA :11 DATA :00 * SGETC DATA :04 DATA :47 G DATA :45 E DATA :54 T DATA :43 C DATA :10 * SHEX DATA :04 DATA :48 H DATA :45 E DATA :58 X DATA :24 $ DATA :21 DATA :10 * SINP DATA :03 DATA :49 I DATA :4E N DATA :50 P DATA :11 DATA :10 * SINT DATA :03 DATA :49 I DATA :4E N DATA :54 T DATA :01 DATA :00 * SLEFT DATA :05 DATA :4C L DATA :45 E DATA :46 F DATA :54 T DATA :24 $ DATA :22 DATA :20 DATA :10 * SLEN DATA :03 DATA :4C L DATA :45 E DATA :4E N DATA :11 DATA :20 * SVPT DATA :06 DATA :56 V DATA :41 A DATA :52 R DATA :50 P DATA :54 T DATA :52 R DATA :11 DATA :30 * SLOG DATA :03 DATA :4C L DATA :4F O DATA :47 G DATA :01 DATA :00 * SLOGT DATA :04 DATA :4C L DATA :4F O DATA :47 G DATA :54 T DATA :01 DATA :00 * SXMAX DATA :04 DATA :58 X DATA :4D M DATA :41 A DATA :58 X DATA :10 * SYMAX DATA :04 DATA :59 Y DATA :4D M DATA :41 A DATA :58 X DATA :10 * SMID DATA :04 DATA :4D M DATA :49 I DATA :44 D DATA :24 $ DATA :23 DATA :20 DATA :10 DATA :10 * SPDL DATA :03 DATA :50 P DATA :44 D DATA :4C L DATA :11 DATA :10 * SPEEK DATA :04 DATA :50 P DATA :45 E DATA :45 E DATA :4B K DATA :11 DATA :10 * SPI DATA :02 DATA :50 P DATA :49 I DATA :00 * SRIGHT DATA :06 DATA :52 R DATA :49 I DATA :47 G DATA :48 H DATA :54 T DATA :24 $ DATA :22 DATA :20 DATA :10 * SRND DATA :03 DATA :52 R DATA :4E N DATA :44 D DATA :01 DATA :00 * SSCRN DATA :04 DATA :53 S DATA :43 C DATA :52 R DATA :4E N DATA :12 DATA :10 DATA :10 * SSGN DATA :03 DATA :53 S DATA :47 G DATA :4E N DATA :01 DATA :00 * SSPC DATA :03 DATA :53 S DATA :50 P DATA :43 C DATA :21 DATA :10 * SSQR DATA :03 DATA :53 S DATA :51 Q DATA :52 R DATA :01 DATA :00 * SSTR DATA :04 DATA :53 S DATA :54 T DATA :52 R DATA :24 $ DATA :21 DATA :00 * STAB DATA :03 DATA :54 T DATA :41 A DATA :42 B DATA :21 DATA :10 * SVAL DATA :03 DATA :56 V DATA :41 A DATA :4C L DATA :01 DATA :20 * SSIN DATA :03 DATA :53 S DATA :49 I DATA :4E N DATA :01 DATA :00 * SCOS DATA :03 DATA :43 C DATA :4F O DATA :53 S DATA :01 DATA :00 * STAN DATA :03 DATA :54 T DATA :41 A DATA :4E N DATA :01 DATA :00 * SASIN DATA :04 DATA :41 A DATA :53 S DATA :49 I DATA :4E N DATA :01 DATA :00 * SACOS DATA :04 DATA :41 A DATA :43 C DATA :4F O DATA :53 S DATA :01 DATA :00 * SATN DATA :03 DATA :41 A DATA :54 T DATA :4E N DATA :01 DATA :00 * DATA :00 End of table * ******** * DATA * ******** * *ENDFT FPOSC DATA :15 Sound constant DATA :F4 DATA :24 DATA :00 * FPM1 DATA :81 FPT (-1) DATA :80 DATA :00 DATA :00 * FPPI DATA :02 FPT (PI) DATA :C9 DATA :0F DATA :DB * I4 DATA :00 INT (4) (not used) DATA :00 DATA :00 DATA :04 * IRAND DATA :00 AND mask DATA :FF DATA :FF DATA :FF * * * UNL ENDFT EQU FPOSC FUNTB EQU SABS OPTAB EQU SDIV OPTBB EQU SBRA LST END